Hash functions are used to validate the integrity of files transferred over a computer network (e.g., the Internet or an internal company network). Hash function values, such as checksums, are computed by both the file sender and the file receiver. These hash function values are then compared for equality to validate that no transmission errors occurred during the transfer. Known hash functions used for file integrity checking include the 32-bit Cyclic Redundancy Check (CRC32) and Message Digest algorithm 5 (MD5). In conventional client-server based file transfer operations, the file integrity checking process includes a transfer of a file and calculations of hash function values by both the client and the server. The transfer of the file includes input/output processing at both the client and the server (e.g., the server fetches a file to be downloaded to the client and the client stores the downloaded file). The calculations of the hash function values include additional input/output processing of the file (i.e., fetching the server copy of the file and fetching the client copy of the file). Therefore, using the conventional approach, the data for the transferred file is subject to input/output processing twice on each side of the transfer: once during the file transfer operation and then again during the hash function value calculation. As the size of transferred files increases to certain levels, the computing resources and elapsed time required to perform the file integrity check function increases to very expensive and inefficient levels. Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.